// license-header java merge-point
/**
 * This is only generated once! It will never be overwritten.
 * You can (and have to!) safely modify it by hand.
 */
package com.orange.domain;
/**
 * @see com.orange.domain.Position
 */
public class PositionDaoImpl
    extends com.orange.domain.PositionDaoBase
{
    /**
     * @see com.orange.domain.PositionDao#toPositionValue(com.orange.domain.Position, com.orange.domain.PositionValue)
     */
    public void toPositionValue(
        com.orange.domain.Position source,
        com.orange.domain.PositionValue target)
    {
        // @todo verify behavior of toPositionValue
        super.toPositionValue(source, target);
    }


    /**
     * @see com.orange.domain.PositionDao#toPositionValue(com.orange.domain.Position)
     */
    public com.orange.domain.PositionValue toPositionValue(final com.orange.domain.Position entity)
    {
        // @todo verify behavior of toPositionValue
        return super.toPositionValue(entity);
    }


    /**
     * Retrieves the entity object that is associated with the specified value object
     * from the object store. If no such entity object exists in the object store,
     * a new, blank entity is created
     */
    private com.orange.domain.Position loadPositionFromPositionValue(com.orange.domain.PositionValue positionValue)
    {
        // @todo implement loadPositionFromPositionValue
        throw new java.lang.UnsupportedOperationException("com.orange.domain.loadPositionFromPositionValue(com.orange.domain.PositionValue) not yet implemented.");

        /* A typical implementation looks like this:
        com.orange.domain.Position position = this.load(positionValue.getId());
        if (position == null)
        {
            position = com.orange.domain.Position.Factory.newInstance();
        }
        return position;
        */
    }

    
    /**
     * @see com.orange.domain.PositionDao#positionValueToEntity(com.orange.domain.PositionValue)
     */
    public com.orange.domain.Position positionValueToEntity(com.orange.domain.PositionValue positionValue)
    {
        // @todo verify behavior of positionValueToEntity
        com.orange.domain.Position entity = this.loadPositionFromPositionValue(positionValue);
        this.positionValueToEntity(positionValue, entity, true);
        return entity;
    }


    /**
     * @see com.orange.domain.PositionDao#positionValueToEntity(com.orange.domain.PositionValue, com.orange.domain.Position)
     */
    public void positionValueToEntity(
        com.orange.domain.PositionValue source,
        com.orange.domain.Position target,
        boolean copyIfNull)
    {
        // @todo verify behavior of positionValueToEntity
        super.positionValueToEntity(source, target, copyIfNull);
    }

}